class Solution:
    def commonChars(self, A: List[str]) -> List[str]:
        sortedA=[[c for c in s] for s in A]
        for s in sortedA:
            s.sort()
        result=[]
        offset=[0 for _ in A]
        while offset[0]<len(A[0]):
            try:
                flag=True
                for s in range(1,len(A)):
                    if sortedA[s][offset[s]]==sortedA[0][offset[0]]:
                        offset[s]+=1
                    else:
                        while ord(sortedA[s][offset[s]])<ord(sortedA[0][offset[0]]):
                            offset[s]+=1
                        if sortedA[s][offset[s]]==sortedA[0][offset[0]]:
                            offset[s]+=1
                        else:
                            flag=False
                if flag:
                    result.append(sortedA[0][offset[0]])
                offset[0]+=1
            except:
                break
        return result